{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Use of resample and flipsp functions\n",
    "\n",
    "Spectral data are often delivered with decreasing and non-regularly sampled frequencies. This notebook shows how rampy can help you to solve this problem."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/charles/miniconda3/envs/py36/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release.\n",
      "  from numpy.core.umath_tests import inner1d\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import sys\n",
    "sys.path.append(\"../\")\n",
    "import numpy as np\n",
    "import scipy\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "import rampy as rp\n",
    "from sklearn import preprocessing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Creating a fake signal, with decreasing frequencies and irregularly sampled"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "nb_points  =500\n",
    "x = np.sort(np.random.uniform(50,500,nb_points))[::-1]\n",
    "\n",
    "# gaussian peaks\n",
    "p1 = 20.0 * np.exp(-np.log(2) * ((x-150.0)/15.0)**2)\n",
    "p2 = 100.0 * np.exp(-np.log(2) * ((x-250.0)/5.0)**2)\n",
    "p3 = 50.0 * np.exp(-np.log(2) * ((x-450.0)/1.0)**2)\n",
    "p4 = 20.0 * np.exp(-np.log(2) * ((x-350.0)/30.0)**2)\n",
    "p5 = 30.0 * np.exp(-np.log(2) * ((x-460.0)/5.0)**2)\n",
    "\n",
    "# background: a large gaussian + linear \n",
    "bkg = 60.0 * np.exp(-np.log(2) * ((x-250.0)/200.0)**2) + 0.1*x\n",
    "\n",
    "#noise\n",
    "noise = 2.0 * np.random.normal(size=nb_points)\n",
    "\n",
    "#observation\n",
    "y = p1 + p2 + p3 + p4 + p5 + noise +bkg\n",
    "\n",
    "# spectrum, recorded array\n",
    "spectrum = np.vstack((x,y)).T\n",
    "\n",
    "plt.plot(spectrum[:,0],spectrum[:,1],\"r-\")\n",
    "plt.ylabel(\"Y\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OK, makes no difference for pyplot but actually x is reversely sorted, and no regularly sampled"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[498.28068623 497.46685337 496.96704799 495.97786229 493.8984038\n",
      " 493.72445666 491.65446905 491.26176705 491.12026279 490.96979172]\n"
     ]
    }
   ],
   "source": [
    "print(spectrum[0:10,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "interval 1:-0.8138328561419712\n",
      "interval 2:-0.49980537723996576\n"
     ]
    }
   ],
   "source": [
    "print(\"interval 1:\"+str(spectrum[1,0]-spectrum[0,0]))\n",
    "print(\"interval 2:\"+str(spectrum[2,0]-spectrum[1,0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can solve the first problem by using rp.resample(). Note that we could also use numpy.interp(). We will compare both for the sack of example. We first flip the array, then resample it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[50.33283866 53.4390009  54.81355538 54.90196699 55.5688072  55.88209926\n",
      " 57.34207577 59.91388908 61.67427136 61.91470762]\n"
     ]
    }
   ],
   "source": [
    "spectrum_increasing = rp.flipsp(spectrum)\n",
    "print(spectrum_increasing[0:10,0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "OK, now the frequencies are in increasing order. This seems not important maybe, but remember than many spline algorithm (including gcvspline or the Dierckx version in scipy) required increasing x values...\n",
    "\n",
    "Now, we resample on a linearly spaced x axis. When creating x_new, remember that the boundaries should be inside those of the existing frequencies."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_new = np.arange(round(spectrum_increasing[0,0])+1,round(spectrum_increasing[-1,0])-1,0.8)\n",
    "y_new_rp = rp.resample(spectrum_increasing[:,0],spectrum_increasing[:,1],x_new)\n",
    "y_new_np = np.interp(x_new,spectrum_increasing[:,0],spectrum_increasing[:,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(1,2,1)\n",
    "plt.plot(spectrum[:,0],spectrum[:,1],\"k.\")\n",
    "plt.plot(x_new,y_new_rp,\"r-\",label=\"rampy\")\n",
    "plt.plot(x_new,y_new_np,\"b-\",label=\"np.interp\")\n",
    "plt.ylabel(\"Y\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.legend()\n",
    "plt.subplot(1,2,2)\n",
    "plt.plot(spectrum[:,0],spectrum[:,1],\"k.\")\n",
    "plt.plot(x_new,y_new_rp,\"r-\",label=\"rampy\")\n",
    "plt.plot(x_new,y_new_np,\"b-\",label=\"np.interp\")\n",
    "plt.ylabel(\"Y\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.xlim(200,230)\n",
    "plt.ylim(70,90)\n",
    "plt.legend()\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As seen below, `rampy.resample` return the same values as `numpy.interp` with the default values. However, we see that the fit is actually not really perfect. This is where `rampy.resample` offers you more: you can choose the type of interpolation done, and other options, as it uses `scipy.interpolate.interp1d` at the low level. See the documentation [here](https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html).\n",
    "\n",
    "We can try to use a different algorithm and see the result:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_new_rp = rp.resample(spectrum_increasing[:,0],spectrum_increasing[:,1],x_new,kind=\"nearest\")\n",
    "plt.subplot(1,2,1)\n",
    "plt.plot(spectrum[:,0],spectrum[:,1],\"k.\")\n",
    "plt.plot(x_new,y_new_rp,\"r-\",label=\"rampy\")\n",
    "plt.plot(x_new,y_new_np,\"b-\",label=\"np.interp\")\n",
    "plt.ylabel(\"Y\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.legend()\n",
    "plt.subplot(1,2,2)\n",
    "plt.plot(spectrum[:,0],spectrum[:,1],\"k.\")\n",
    "plt.plot(x_new,y_new_rp,\"r-\",label=\"rampy\")\n",
    "plt.plot(x_new,y_new_np,\"b-\",label=\"np.interp\")\n",
    "plt.ylabel(\"Y\")\n",
    "plt.xlabel(\"X\")\n",
    "plt.xlim(200,230)\n",
    "plt.ylim(70,90)\n",
    "plt.legend()\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
